package com.jk.service;

import com.jk.vo.*;

import java.util.List;
import java.util.Map;

public interface DealInfoService {

     //根据条件进行分页查询
     Map getDealInfo(int page, int rows, DealInfo dealInfo);

     //根据时间倒序查询前七条数据
    List<DealInfo> getInfo();

     //三表联查账户管理中的相应数据
    List<Map> getAccountUser(String s);

    //查询该用户所拥有的银行卡
    List<Map> getBank(String s);

    //新增一条数据状态为等待付款
    void addDeal(DealInfo dealInfo);

    //判断支付密码是否正确
    int getPayPwd(UserAccount userAccount);

    //将交易状态修改为交易成功
    void putDeal(DealInfo dealInfo);

    //对账户金额进行相应修改
    void putAccountMoney(UserAccount userAccount);

    //对对应银行卡金额进行相应修改
    void putBankMoney(AccountBank accountBank);

    //对账户金额进行增加修改
    void putAccountMoneyInsert(UserAccount userAccount);

    //对对应银行卡金额进行减少修改
    void putBankMoneyReduce(AccountBank accountBank);

    //通过邮箱获取对象id
    UserInfo getOtherEmail(UserInfo userInfo);

    //通过手机号获取对象id
    UserInfo getOtherNumber(UserInfo userInfo);

    //查询被转账人真实姓名
    AuthUserIdcard getRealName(UserInfo userInfo);

    //对转账账户金额进行相应减少修改
    void putSelfAccount(UserAccount userAccount);

    //对被转账账户金额进行相应增加修改
    void putOtherAccount(UserInfo userInfo, UserAccount userAccount);

    //在转账到银行卡页面根据银行卡号查询相对持卡人和卡名
    AccountBank getAccountBank(AccountBank accountBank);

    //对被转账银行卡金额进行相应增加修改
    void putOtherBank(AccountBank accountBank, UserAccount userAccount);

    //逻辑删除（修改状态放入回收站中）
    void putDeleteStatus(DealInfo dealInfo);

    //查询当前用户账户余额
    List<Map> getUserAccountMoney(String s);

    //查询当前账户的充值记录
    List<DealInfo> getTopUpInfo(String s);

    //查询当前账户的提现记录
    List<DealInfo> getDepositInfo(String s);

    //回收站批量删除
    int deleteBatch(List<String> ids);

    List<DealInfo> getTopUpInfo2(String s, int status);

    //回收站展示
    List<DealInfo> getRecycle();

    //账户设置修改手机号
    void putNumber(String number,String pnumber);

    //账户设置中修改邮箱
    void putEmail(String email, String pemail);
}
